1

给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。

说明:本题中,我们将空字符串定义为有效的回文串。

示例 1:

输入: "A man, a plan, a canal: Panama" 输出: true

示例 2:

输入: "race a car" 输出: false

解题思路:

  • 1.循环遍历字符串,依次比较首尾对应位置字符是否相等
  • 2.考虑到JS中字符串与数组转换起来比较方便,可以将字符串转为数据,然后将数组倒转并转回字符串,比较两者是否相等。
var isPalindrome = function(s) {
    //将字符串变为小写,并将其中的非字符项去掉
    var string = s.toLowerCase().replace(/\W/g,'');
    //转为数组,倒转,然后转为字符串
    var res = string.split('').reverse().join('');
    //比较两者是否相同
    return string === res; 
};

geology
176 声望6 粉丝

自学前端